import { http } from "@/utils/http";
import { baseUrlApi } from "@/utils/http/utils";

export type UserResult = {
  code: number;
  message: string;
  errMessage?: string;
  data: {
    avatar?: string;
    verifyCode?: string;
    currentPage?: number;
    isRemembered?: boolean;
    loginDay?: number;
    /** 账户名 */
    accountName: string;
    /** 姓名 */
    realName?: string;
    /** 所属租户ID */
    tenantId: string;
    /** 所属租户名称 */
    tenantName: string;
    /** 账户类型 0-普通账户，1-管理员 */
    accountType: number;
  };
};


export type UserInfo = {
  /** 头像 */
  avatar: string;
  /** 用户名 */
  username: string;
  /** 昵称 */
  nickname: string;
  /** 邮箱 */
  email: string;
  /** 联系电话 */
  phone: string;
  /** 简介 */
  description: string;
};

export type UserInfoResult = {
  success: boolean;
  data: UserInfo;
};

type ResultTable = {
  success: boolean;
  data?: {
    /** 列表数据 */
    list: Array<any>;
    /** 总条目数 */
    total?: number;
    /** 每页显示条目个数 */
    pageSize?: number;
    /** 当前页数 */
    currentPage?: number;
  };
};

/** 登录 */
export const getLogin = (data?: object) => {
  return http.request<UserResult>("post", baseUrlApi("/account/login"), { data });
};


/** 账户设置-个人信息 */
export const getMine = (data?: object) => {
  return http.request<UserInfoResult>("get", "/mine", { data });
};

/** 账户设置-个人安全日志 */
export const getMineLogs = (data?: object) => {
  return http.request<ResultTable>("get", "/mine-logs", { data });
};
